// HSS.Data.IDataContainer.cs
// ----------------------------------------------------------------------------
// Licensed under the MIT license
// http://www.opensource.org/licenses/mit-license.html
// ----------------------------------------------------------------------------
// HighSpeed-Solutions, LLC
// Copyright (c) 2001-2010
// ----------------------------------------------------------------------------
// File:       IDataContainer.cs
// Author:     HSS\gbanta
// Created:    08/12/2010
// Modified:   12/04/2010
// ----------------------------------------------------------------------------
namespace HSS.Data
{
	#region Using Directives

	#endregion

	/// <summary>
	/// Is the base interface for objects that contain additional properties representing a data model, and can
	/// be used by Data Transfer/Storage Mechanisms to share, transfer or otherwise communicate data.
	/// </summary>
	public interface IDataContainer
	{
		/// <summary>
		/// The Unique Id for the Data contained in an instance of this class.
		/// </summary>
		[System.Runtime.Serialization.DataMember]
		string Id { get; set; }

		/// <summary>
		/// The friendly name to refer to this instance by.
		/// </summary>
		[System.Runtime.Serialization.DataMember]
		string Name { get; set; }

		/// <summary>
		/// The data contained in this object
		/// </summary>
		[System.Xml.Serialization.XmlIgnore]
		object Data { get; set; }
	}
}